'\" e
'\"! eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 hint.gl -
.ds Xs 8452 5 hint.gl
.TH GLHINT 3G
.SH NAME
.B "glHint
\- specify implementation-specific hints

.SH C SPECIFICATION
void \f3glHint\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglHint( 'u
	GLenum \fImode\fP )
.fi

.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u 
\f2target\fP
Specifies a symbolic constant indicating the behavior to be controlled.
\%\f3GL_FOG_HINT\fP,	
\%\f3GL_LINE_SMOOTH_HINT\fP,
\%\f3GL_PERSPECTIVE_CORRECTION_HINT\fP,
\%\f3GL_POINT_SMOOTH_HINT\fP, and
\%\f3GL_POLYGON_SMOOTH_HINT\fP are accepted. 
.TP
\f2mode\fP
Specifies a symbolic constant indicating the desired behavior.
\%\f3GL_FASTEST\fP, 
\%\f3GL_NICEST\fP, and 
\%\f3GL_DONT_CARE\fP are accepted. 
.SH DESCRIPTION
Certain aspects of GL behavior,
when there is room for interpretation,
can be controlled with hints.
A hint is specified with two arguments.
\f2target\fP is a symbolic 
constant indicating the behavior to be controlled,
and \f2mode\fP is another symbolic constant indicating the desired
behavior. The initial value for each \f2target\fP is \%\f3GL_DONT_CARE\fP. 
\f2mode\fP can be one of the following:
.TP 20
\%\f3GL_FASTEST\fP
The most efficient option should be chosen.
.TP
\%\f3GL_NICEST\fP
The most correct,
or highest quality,
option should be chosen.
.TP 
\%\f3GL_DONT_CARE\fP
No preference.
.P
Though the implementation aspects that can be hinted are well defined,
the interpretation of the hints depends on the implementation.
The hint aspects that can be specified with \f2target\fP,
along with suggested semantics,
are as follows:
.TP 20
\%\f3GL_FOG_HINT\fP
Indicates the accuracy of fog calculation.
If per-pixel fog calculation is not efficiently supported
by the GL implementation,
hinting \%\f3GL_DONT_CARE\fP or \%\f3GL_FASTEST\fP can result in per-vertex
calculation of fog effects.
.TP
\%\f3GL_LINE_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased lines.
If a larger filter function is applied, hinting \%\f3GL_NICEST\fP can
result in more pixel fragments being generated during rasterization,
.TP
\%\f3GL_PERSPECTIVE_CORRECTION_HINT\fP
Indicates the quality of color and texture coordinate interpolation.
If perspective-corrected parameter interpolation is not efficiently supported
by the GL implementation,
hinting \%\f3GL_DONT_CARE\fP or \%\f3GL_FASTEST\fP can result in simple linear
interpolation of colors and/or texture coordinates.
.TP
\%\f3GL_POINT_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased points.
If a larger filter function is applied, hinting \%\f3GL_NICEST\fP can
result in more pixel fragments being generated during rasterization, 
.TP
\%\f3GL_POLYGON_SMOOTH_HINT\fP
Indicates the sampling quality of antialiased polygons.
Hinting \%\f3GL_NICEST\fP can result in more pixel fragments being generated
during rasterization,
if a larger filter function is applied.
.SH NOTES
The interpretation of hints depends on the implementation.
Some implementations ignore \%\f3glHint\fP settings.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if either \f2target\fP or \f2mode\fP is not
an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glHint\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
